using Cooking.Core.Dto;
using Cooking.Core.Model;

namespace Cooking.Core.Services
{
    public interface IRecipeService
    {
        RecipeCreateResult CreateNewRecipe(string title);
        Recipe LoadRecipe(int recipeId);
        void AddIngredientToRecipe(AddToRecipeDto dto);
        void ChangeIngredient(UpdateRecipeIngredientDto dto);
        void RemoveIngredient(int recipeId, int recipeIngredientId);
        void AddStepToRecipe(int recipeId, string description);
        void UpdateStep(int recipeId, int stepId, string description);
        void RemoveStep(int recipeId, int stepId);
        void MoveStepUp(int recipeId, int sequenceNumber);
        void MoveStepDown(int recipeId, int sequenceNumber);
    }
}